home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / PairDatabase.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  2.9 KB  |  113 lines

  1. package
  2. {
  3.    public class PairDatabase
  4.    {
  5.        
  6.       
  7.       internal var _aEntries:Array;
  8.       
  9.       public function PairDatabase()
  10.       {
  11.          _aEntries = new Array();
  12.          super();
  13.       }
  14.       
  15.       public function load(param1:Array) : void
  16.       {
  17.          var _loc2_:int = 0;
  18.          var _loc3_:Triple = null;
  19.          _loc2_ = param1.pop() as int;
  20.          _aEntries = new Array();
  21.          while(_loc2_ > 0)
  22.          {
  23.             _loc3_ = new Triple(null,null,null);
  24.             _loc3_.First = param1.pop();
  25.             _loc3_.Second = param1.pop();
  26.             _loc3_.Third = param1.pop();
  27.             _aEntries.push(_loc3_);
  28.             _loc2_--;
  29.          }
  30.       }
  31.       
  32.       public function incrementPairCounterLimit(param1:String, param2:String, param3:int) : Boolean
  33.       {
  34.          incrementPairCounter(param1,param2);
  35.          if(getPairCounter(param1,param2) == param3)
  36.          {
  37.             return true;
  38.          }
  39.          return false;
  40.       }
  41.       
  42.       public function getPairCounter(param1:String, param2:String) : int
  43.       {
  44.          var _loc3_:Triple = null;
  45.          _loc3_ = findOrCreate(param1,param2);
  46.          return _loc3_.Third as int;
  47.       }
  48.       
  49.       public function clear() : void
  50.       {
  51.          _aEntries = new Array();
  52.       }
  53.       
  54.       public function dump() : void
  55.       {
  56.          var _loc1_:Triple = null;
  57.          trace("-----");
  58.          for each(_loc1_ in _aEntries)
  59.          {
  60.             trace(_loc1_.First + " " + _loc1_.Second + " " + _loc1_.Third);
  61.          }
  62.          trace("-----");
  63.       }
  64.       
  65.       internal function findOrCreate(param1:String, param2:String) : Triple
  66.       {
  67.          var _loc3_:Triple = null;
  68.          _loc3_ = findEntry(param1,param2);
  69.          if(_loc3_ == null)
  70.          {
  71.             _loc3_ = new Triple(param1,param2,0);
  72.             _aEntries.push(_loc3_);
  73.          }
  74.          return _loc3_;
  75.       }
  76.       
  77.       internal function findEntry(param1:String, param2:String) : Triple
  78.       {
  79.          var _loc3_:Triple = null;
  80.          for each(_loc3_ in _aEntries)
  81.          {
  82.             if(_loc3_.First == param1 && _loc3_.Second == param2)
  83.             {
  84.                return _loc3_;
  85.             }
  86.          }
  87.          return null;
  88.       }
  89.       
  90.       public function incrementPairCounter(param1:String, param2:String) : void
  91.       {
  92.          var _loc3_:Triple = null;
  93.          _loc3_ = findOrCreate(param1,param2);
  94.          _loc3_.Third = (_loc3_.Third as int) + 1;
  95.       }
  96.       
  97.       public function save() : Array
  98.       {
  99.          var _loc1_:Array = null;
  100.          var _loc2_:Triple = null;
  101.          _loc1_ = new Array();
  102.          for each(_loc2_ in _aEntries)
  103.          {
  104.             _loc1_.push(_loc2_.Third);
  105.             _loc1_.push(_loc2_.Second);
  106.             _loc1_.push(_loc2_.First);
  107.          }
  108.          _loc1_.push(_aEntries.length);
  109.          return _loc1_;
  110.       }
  111.    }
  112. }
  113.